//
//  ToolWindow.h
//  Editor
//
//  Created by Jeppe Nielsen on 10/19/14.
//  Copyright (c) 2014 Jeppe Nielsen. All rights reserved.
//

#pragma once
#include <string>
#include "Context.hpp"

class MainWindow;
class QDockWidget;
class QMenu;

class ToolWindow : public QObject {
    Q_OBJECT
public:
    virtual ~ToolWindow();
    void Create(MainWindow* mainWindow, QMenu* toolWindowMenu, Context* context);
    void Save();
    
protected:
    virtual std::string GetName() = 0;
    virtual void OnCreate() = 0;
    virtual void OnSave();
    public:
    QDockWidget* window;
    Context* context;
};
